dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
QUOTE1(sel2(X, Y)) -> SEL12(X, Y)
DBL11(s1(X)) -> DBL11(X)
QUOTE1(s1(X)) -> QUOTE1(X)
INDX2(cons2(X, Y), Z) -> SEL2(X, Z)
QUOTE1(dbl1(X)) -> DBL11(X)
DBLS1(cons2(X, Y)) -> DBL1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
DBLS1(cons2(X, Y)) -> DBLS1(Y)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
DBL1(s1(X)) -> DBL1(X)
FROM1(X) -> FROM1(s1(X))
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
QUOTE1(sel2(X, Y)) -> SEL12(X, Y)
DBL11(s1(X)) -> DBL11(X)
QUOTE1(s1(X)) -> QUOTE1(X)
INDX2(cons2(X, Y), Z) -> SEL2(X, Z)
QUOTE1(dbl1(X)) -> DBL11(X)
DBLS1(cons2(X, Y)) -> DBL1(X)
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
DBLS1(cons2(X, Y)) -> DBLS1(Y)
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
DBL1(s1(X)) -> DBL1(X)
FROM1(X) -> FROM1(s1(X))
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL12(s1(X), cons2(Y, Z)) -> SEL12(X, Z)
POL(SEL12(x1, x2)) = 3·x1 + 3·x1·x2
POL(cons2(x1, x2)) = 2·x2
POL(s1(x1)) = 3 + 3·x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
DBL11(s1(X)) -> DBL11(X)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DBL11(s1(X)) -> DBL11(X)
POL(DBL11(x1)) = 3·x1 + 3·x12
POL(s1(x1)) = 2 + 3·x1 + 3·x12
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
QUOTE1(s1(X)) -> QUOTE1(X)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOTE1(s1(X)) -> QUOTE1(X)
POL(QUOTE1(x1)) = 3·x1 + 3·x12
POL(s1(x1)) = 2 + 3·x1 + 3·x12
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FROM1(X) -> FROM1(s1(X))
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL2(s1(X), cons2(Y, Z)) -> SEL2(X, Z)
POL(SEL2(x1, x2)) = 3·x1 + 3·x1·x2
POL(cons2(x1, x2)) = 2·x2
POL(s1(x1)) = 3 + 3·x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
INDX2(cons2(X, Y), Z) -> INDX2(Y, Z)
POL(INDX2(x1, x2)) = x1 + x1·x2
POL(cons2(x1, x2)) = 1 + x2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
DBL1(s1(X)) -> DBL1(X)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DBL1(s1(X)) -> DBL1(X)
POL(DBL1(x1)) = 3·x1 + 3·x12
POL(s1(x1)) = 2 + 3·x1 + 3·x12
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
DBLS1(cons2(X, Y)) -> DBLS1(Y)
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DBLS1(cons2(X, Y)) -> DBLS1(Y)
POL(DBLS1(x1)) = 3·x1 + 3·x12
POL(cons2(x1, x2)) = 2 + 2·x2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
dbl1(0) -> 0
dbl1(s1(X)) -> s1(s1(dbl1(X)))
dbls1(nil) -> nil
dbls1(cons2(X, Y)) -> cons2(dbl1(X), dbls1(Y))
sel2(0, cons2(X, Y)) -> X
sel2(s1(X), cons2(Y, Z)) -> sel2(X, Z)
indx2(nil, X) -> nil
indx2(cons2(X, Y), Z) -> cons2(sel2(X, Z), indx2(Y, Z))
from1(X) -> cons2(X, from1(s1(X)))
dbl11(0) -> 01
dbl11(s1(X)) -> s11(s11(dbl11(X)))
sel12(0, cons2(X, Y)) -> X
sel12(s1(X), cons2(Y, Z)) -> sel12(X, Z)
quote1(0) -> 01
quote1(s1(X)) -> s11(quote1(X))
quote1(dbl1(X)) -> dbl11(X)
quote1(sel2(X, Y)) -> sel12(X, Y)